implementation vs api